package com.qf.servlet;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * 1231231231
 * 订单超卖的问题
 * description: 订单的Servlet
 * author: Ken
 * 公众号：Java架构栈
 */
@WebServlet(urlPatterns = "/order")
public class OrderServlet extends HttpServlet {

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // 获得用户的信息 - session       
        // 获得请求参数 - gid   
//        String gid = req.getParameter("gid");
        Integer gid = 16; //-128~127

        //------线程1 - 张三 - 16
        //------线程2 - 李四 - 16
        //锁住跟库存相关的代码
        synchronized ((gid + "").intern()) {
            // 查看商品gid库存是否足够 - 来自于数据库       
            // 如果库存足够，则库存-1 
            // 生成订单信息 - 入库
        }

    }
}
